<?php

namespace EasyVote\EasyVoteBundle\Entity;
use Doctrine\ORM\Mapping as ORM;

/**
 * The Profile class represents a profile for a candidate or other option in an election.
 * @ORM\Entity()
 */
class Profile
{
    /**
     * Gets the URL of the profile picture
     * @return string
     */
    public function getPicture()
    {
        return $this->picture;
    }

    /**
     * Sets the URL of the profile picture.
     * @param string $picture
     */
    public function setPicture($picture)
    {
        $this->picture = $picture;
    }

    /**
     * Gets the profile summary
     * @return string
     */
    public function getSummary()
    {
        return $this->summary;
    }

    /**
     * Sets the profile summary
     * @param string $summary
     */
    public function setSummary($summary)
    {
        $this->summary = $summary;
    }

    /**
     * Gets the text of the profile
     * @return string
     */
    public function getText()
    {
        return $this->ftext;
    }

    /**
     * Sets the text of the profile
     * @param string $text
     */
    public function setText($text)
    {
        $this->ftext = $text;
    }

    /**
     * Gets the title of the profile
     * @return string
     */
    public function getTitle()
    {
        return $this->title;
    }

    /**
     * Sets the title of the profile
     * @param string $title
     */
    public function setTitle($title)
    {
        $this->title = $title;
    }

    /**
     * Gets the user
     * @return User
     */
    public function getUser()
    {
        return $this->user;
    }

    /**
     * Sets the user
     * @param User $user
     */
    public function setUser(User $user)
    {
        $this->user = $user;
    }

    /**
     * This is the same as getText
     * @return string ftext
     */
    public function getFtext()
    {
        return $this->ftext;
    }

    /**
     * This is the same as setText
     * @param string $ftext
     */
    public function setFtext($ftext)
    {
        $this->ftext = $ftext;
    }

    /**
     * The id of the profile
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * Stores the user associated with this election profile.
     * If null, it is assumed that this is a profile of something other than
     * a person running for political office.
     * @var user
     * @ORM\ManyToOne(targetEntity="User")
     */
    private $user;

    /**
     * Stores the picture for this election profile.
     * @var string
     * @ORM\Column(name="picture", type="string", nullable=true)
     */
    private $picture;

    /**
     * Get id
     *
     * @return integer
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Stores the title of this profile (if any).
     * @var string
     * @ORM\Column(name="title", type="string")
     */
    private $title;

    /**
     * A short executive summary for the topic associated with this election profile.
     * @var string
     * @ORM\Column(name="summary", type="text")
     */
    private $summary;

    /**
     * The full text of the profile. This name avoids MySQL naming errors.
     * @var string
     * @ORM\Column(name="ftext", type="text")
     */
    private $ftext;
}

?>
